﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GameEngine.Entities;
using Microsoft.Xna.Framework;
using GameEngine.EntityComponents;

namespace PvT.Entities.HUD
{
    public abstract class AbstractHudEntity : AbstractDrawableEntity
    {
        protected PlayerEntity player;

        /// <summary>
        /// Initializes a new instance of the <see cref="AbstractHudEntity" /> class.
        /// </summary>
        /// <param name="components">The components.</param>
        /// <param name="isActive">if set to <c>true</c> [is active].</param>
        /// <param name="isVisible">if set to <c>true</c> [is visible].</param>
        /// <param name="position">The position.</param>
        /// <param name="game">The game.</param>
        public AbstractHudEntity(List<IEntityComponent> components, bool isActive, bool isVisible, Vector2 position, Game game) :
            base(components, isActive, isVisible, position, game)
        { }

        /// <summary>
        /// Updates the abstractHudEntity.
        /// </summary>
        /// <param name="gameTime">The game time.</param>
        public override void Update(GameTime gameTime)
        {
            UpdateComponents(gameTime);
        }

        /// <summary>
        /// Sets the player.
        /// </summary>
        /// <param name="playerEntity">The player entity.</param>
        public void SetPlayer(PlayerEntity playerEntity)
        {
            player = playerEntity;
        }
    }
}
